import java.util.HashMap;

public class code2 {
//    力扣 150 单词规律
    // 这道题目和上到题目非常相似，都是两个哈希表做到参数对应进行相互比对
public boolean wordPattern(String pattern, String s) {
    // 可以看到这道题目中
    // 前一个字符串种每一个下标对应的，都是  s 中的一个单词
    // 以第一个例子为例
    // a ——> dog  、 b ——> cat

    // 同样的，可以创建出两个哈希表，分别存储对应的两部分信息
    // 首先，定义一个 数组 将 s 中的字符串按照 “ ” 进行分割
    String[] ss = s.split(" ");

    // 这里需要判断一下两组数据的长度是否相等
    if(pattern.length() != ss.length) {
        return false;
    }

    HashMap<Character, String> pMap = new HashMap<>();
    HashMap<String, Character> sMap = new HashMap<>();

    int len = pattern.length();

    for(int i = 0; i < len; i++) {
        char x = pattern.charAt(i);
        String y = ss[i];
        if((pMap.containsKey(x) && !pMap.get(x).equals(y)) || (sMap.containsKey(y) && !sMap.get(y).equals(x))) {
            return false;
        }

        pMap.put(x, y);
        sMap.put(y, x);
    }
    return true;
}
}
